JBoss.orgCommunity Documentation

Chapter 2. Installation and Running

2.1. Installing
2.1.1. Binary
2.2. Mobicents SS7 Service
2.3. Installing Mobicents SS7 Service Binary
2.4. Running Mobicents SS7 Service
2.4.1. Starting
2.4.2. Stopping
2.5. Configuring Mobicents SS7 Service
2.5.1. Configuring M3UA
2.5.2. Configuring dialogic
2.5.3. Configuring SCCP
2.5.4. Configuring ShellExecutor
2.5.5. Configuring SS7Service
2.6. Setup from source
2.6.1. Release Source Code Building
2.6.2. Development Trunk Source Building

Mobicents SS7 stack at its core requires only Java if you are using only M3UA. However if you plan to use SS7 hardware, respective SS7 cards needs to be installed on the server along with native libraries.

A simple way to get started is to download and install binary. This will provide you with all the dependencies you need to get going. You can obtain binary release from http://sourceforge.net/projects/mobicents/files

The Mobicents SS7 Stack binary is broken down into a few modules.

Binary release has following layout:

The following is a description of the important services and libraries that make up Mobicents SS7 Stack binary

As the name indicates Mobicents SS7 Service is a deployable service that can be deployed in any container that supports JMX and exposes JNDI

Mobicents SS7 Service exposes convenient way of configuring SS7 stack via CLI commands. Service wraps SS7 level 4 i.e., SCCP and lower layers and exposes it via JNDI such that layer above can do the look-up and use it in any application. The advantage of doing so is SCCP and lower layers remains same while above layers can register it-self based on Sub System Number (SSN).

The upper layers of Mobicents SS7 viz., TCAP, MAP depends on Mobicents SS7 Service and Mobicents SS7 Service must be installed before upper layers can be used. The Mobicents SS7 Service binary requires that you have JBoss Application Server installed and JBOSS_HOME system property set. To know further details on setting JBOSS_HOME look Appendix B, Setting the JBOSS_HOME Environment Variable

Once JBOSS_HOME is properly set, use ant to deploy the mobicents-ss7-service, shell scripts and shell library.

Important

Ant 1.6 (or higher) is used to install the binary. Instructions for using Ant, including install, can be found at http://ant.apache.org/

[usr]$ cd ss7-1.0.0.CR3/ss7
[usr]$ ant deploy
		

To undeploy these services

[usr]$ cd ss7-1.0.0.CR3/ss7
[usr]$ ant undeploy
		

While above steps will deploy the necessary ss7 service and shell components, the java.library.path should be set to point the directory containing native component or should be copied to JBoss native library path manually. This step is only required if you are using the SS7 board on server.

Starting or stopping Mobicents SS7 Service is no different than starting or stopping JBoss Application Server

Once installed, you can run server by executing the run.sh (Unix) or run.bat (Microsoft Windows) startup scripts in the <install_directory>/bin directory (on Unix or Windows). If the service started properly you should see following lines in the Unix terminal or Command Prompt depending on your environment:

23:22:26,079 INFO  [LinksetManager] SS7 configuration file path /home/abhayani/workarea/mobicents/jboss-5.1.0.GA/server/default/data/linksetmanager.xml
23:22:26,141 INFO  [LinksetManager] Started LinksetManager
23:22:26,199 INFO  [SS7Service] Starting SCCP stack...
23:22:26,229 INFO  [SccpStackImpl] Starting ...
23:22:26,230 INFO  [RouterImpl] SCCP Router configuration file: /home/abhayani/workarea/mobicents/jboss-5.1.0.GA/server/default/deploy/mobicents-ss7-service/sccp-routing.txt
23:22:26,261 INFO  [SS7Service] SCCP stack Started. SccpProvider bound to java:/mobicents/ss7/sccp
23:22:26,261 INFO  [ShellExecutor] Starting SS7 management shell environment
23:22:26,270 INFO  [ShellExecutor] ShellExecutor listening at /127.0.0.1:3435
23:22:26,270 INFO  [SS7Service] [[[[[[[[[ Mobicents SS7 service started ]]]]]]]]]

				

If you have started ss7-1.0.0.CR3 for the first time, SS7 is not configured. You need to use Shell Client to connect to ss7-1.0.0.CR3 as defined in Chapter 4, Shell Command Line . With CLI you can configure how service interacts with SS7 network, that is you configure either installed SS7 card and its native library\ , or M3UA layer.

Once the configured, the state and configuration of SS7 is persisted which stands server re-start.

Configuration is done through an XML descriptor named jboss-beans.xml and is located at $JBOSS_HOME/server/profile_name/deploy/mobicents-ss7-service/META-INF, where profile_name is the server profile name.

The Mobicents SS7 Layer 4 (SCCP, ISUP) leverages either of following MTP layers to exchange signalling messages with remote signalling points

The ss7 service will be configured with either of these services.

M3UAManagement is only needed if the underlying SS7 service will leverage M3UA. M3UAManagement configuration is further explained in ???



    <!-- ==================================================================== -->
    <!-- SCTP                                                                 -->
    <!-- SCTP Management is used by M3UA only. Comment out if you are using   -->
    <!-- SS7 hardware                                                         -->
    <!-- ==================================================================== -->
    <bean name="SCTPManagement" class="org.mobicents.protocols.sctp.ManagementImpl">
        <constructor>
            <parameter>SCTPManagement</parameter>
        </constructor>
        <property name="persistDir">${jboss.server.data.dir}</property>
        <property name="singleThread">true</property>
        <property name="connectDelay">30000</property>
    </bean>

    <!-- ==================================================================== -->
    <!-- M3UA                                                                 -->
    <!-- M3UAManagement is managing the m3ua side commands                    -->
    <!-- Comment out if you are using SS7 hardware                            -->
    <!-- ==================================================================== -->
    <bean name="Mtp3UserPart" class="org.mobicents.protocols.ss7.m3ua.impl.M3UAManagement">
        <constructor>
            <parameter>Mtp3UserPart</parameter>
        </constructor>
        <property name="persistDir">${jboss.server.data.dir}</property>
        <property name="transportManagement">
            <inject bean="SCTPManagement" />
        </property>
    </bean>

    <bean name="M3UAShellExecutor"
        class="org.mobicents.protocols.ss7.m3ua.impl.oam.M3UAShellExecutor">
        <property name="m3uaManagement">
            <inject bean="Mtp3UserPart" />
        </property>
        <property name="sctpManagement">
            <inject bean="SCTPManagement" />
        </property>
    </bean>
            

org.mobicents.protocols.sctp.ManagementImpl takes String as constructor argument. The name is prepend to xml file created by SCTP stack for persisting state of SCTP resources. The xml is stored in path specified by persistDir property above.

For example in above case, when Mobicents SS7 Service is started file SCTPManagement_sctp.xml will be created at $JBOSS_HOME/server/profile_name/data directory

org.mobicents.protocols.ss7.m3ua.impl.M3UAManagement takes String as constructor argument. The name is prepend to xml file created by M3UA stack for persisting state of M3UA resources. The xml is stored in path specified by persistDir property above.

For example in above case, when Mobicents SS7 Service is started file Mtp3UserPart_m3ua.xml will be created at $JBOSS_HOME/server/profile_name/data directory

As name suggests SccpStack initiates the SCCP stack routines.


    <!-- ==================================================================== -->
    <!-- SCCP Service -->
    <!-- ==================================================================== -->
    <bean name="SccpStack" class="org.mobicents.protocols.ss7.sccp.impl.SccpStackImpl">
        <constructor>
            <parameter>SccpStack</parameter>
        </constructor>
        <property name="localSpc">6535</property>
        <property name="ni">3</property>
        <property name="persistDir">${jboss.server.data.dir}</property>
        <property name="removeSpc">true</property>
        <property name="mtp3UserPart">
            <inject bean="Mtp3UserPart" />
        </property>
    </bean>

    <bean name="SccpExecutor"
        class="org.mobicents.protocols.ss7.sccp.impl.oam.SccpExecutor">
        <property name="sccpStack">
            <inject bean="SccpStack" />
        </property>
    </bean>

org.mobicents.protocols.ss7.sccp.impl.SccpStackImpl takes String as constructor argument. The name is prepend to xml file created by SCCP stack for persisting state of SCCP resources. The xml is stored in path specified by persistDir property above.

For example in above case, when Mobicents SS7 Service is started two file's SccpStack_sccpresource.xml and SccpStack_sccprouter.xml will be created at $JBOSS_HOME/server/profile_name/data directory

Stack has following properties:

SccpExecutor accepts sccp commands and executes necessary operations

Mobicents SS7 Stack is an open source project, instructions for building from source are part of the manual! Building from source means you can stay on top with the latest features. Whilst aspects of Mobicents SS7 Stack are quite complicated, you may find ways to become contributors.

Mobicents SS7 Stack works with JDK1.5 and above (If using M3UA, JDK1.7 and above ). you will also need to have the following tools installed. Minimum requirement version numbers provided.

Similar process as for Section 2.6.1, “Release Source Code Building”, the only change is the SVN source code URL, which is http://mobicents.googlecode.com/svn/trunk/protocols/ss7.